package com.hpeng.sys.model;

import java.math.BigDecimal;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

import org.hibernate.annotations.GenericGenerator;


@Entity
@Table(name = "ASSETCARDBACKUP")
public class AssetCardBackUp implements java.io.Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private String id;
	private String acid; // 资产卡片编号
	private String accode; // 资产编码
	private String acname; // 名称
	private String acanothername; // 别名
	private String acstatus; // 状态
	private String assetcomefrom; // 资产来源
	private String reportreason; // 申报原因
	private String reportdepartment;// 申报部门
	private Double reportprice; // 申报价值
	private Date producedate; // 生产日期
	private String producer; // 厂家
	private Date planstopdate; // 预计停用日期
	private Date actualstopdate; // 实际停用日期
	private String depname; // 所在部门
	private String ispublic; // 是否公用
	private String acuser; // 使用人
	private String orderid; // 采购凭证号
	private Double orderprice; // 采购价格
	private String accountsubject; // 会计科目
	private String scrapmanage; // 报废处置方向
	private Double scrapworth; // 报废价值
	private String lifetime; // 使用期限
	private String count; // 资产数量
	private String isscrap; // 是否待报废
	private String isloss; // 是否待盘亏
	private BigDecimal extendnumberone; // 保留字段
	private BigDecimal extendnumbertwo;
	private BigDecimal extendnumberthree;
	private String extendcharone;
	private String extendchartwo;
	private String extendcharthree;
	private String extendcharfour;
	private Date extenddateone;
	private Date extenddatetwo;
	private Date extenddatethree;

	private Category category; // 资产类别Id
	private String changepeople; // 参数变更操作人
	private Date changedate; // 参数变更操作时间

	private Set<AssetCardBook> book = new HashSet<AssetCardBook>(0);

	public AssetCardBackUp() {

	}
	
	public String getAcid() {
		return acid;
	}

	public void setAcid(String acid) {
		this.acid = acid;
	}

	@Column(name = "ACCODE", length = 50)
	public String getAccode() {
		return accode;
	}

	public void setAccode(String accode) {
		this.accode = accode;
	}

	@Column(name = "ACNAME", nullable = false, length = 100)
	public String getAcname() {
		return acname;
	}

	public void setAcname(String acname) {
		this.acname = acname;
	}

	@Column(name = "ACANOTHERNAME", length = 100)
	public String getAcanothername() {
		return acanothername;
	}

	public void setAcanothername(String acanothername) {
		this.acanothername = acanothername;
	}

	@Column(name = "ACSTATUS", length = 100)
	public String getAcstatus() {
		return acstatus;
	}

	public void setAcstatus(String acstatus) {
		this.acstatus = acstatus;
	}

	@Column(name = "ASSETCOMEFROM", length = 100)
	public String getAssetcomefrom() {
		return assetcomefrom;
	}

	public void setAssetcomefrom(String assetcomefrom) {
		this.assetcomefrom = assetcomefrom;
	}

	@Column(name = "REPORTREASON", length = 1000)
	public String getReportreason() {
		return reportreason;
	}

	public void setReportreason(String reportreason) {
		this.reportreason = reportreason;
	}

	@Column(name = "REPORTDEPARTMENT", length = 50)
	public String getReportdepartment() {
		return reportdepartment;
	}

	public void setReportdepartment(String reportdepartment) {
		this.reportdepartment = reportdepartment;
	}

	@Column(name = "REPORTPRICE", precision = 8)
	public Double getReportprice() {
		return reportprice;
	}

	public void setReportprice(Double reportprice) {
		this.reportprice = reportprice;
	}

	@Column(name = "PRODUCEDATE", length = 7)
	public Date getProducedate() {
		return producedate;
	}

	public void setProducedate(Date producedate) {
		this.producedate = producedate;
	}

	@Column(name = "PRODUCER", length = 50)
	public String getProducer() {
		return producer;
	}

	public void setProducer(String producer) {
		this.producer = producer;
	}

	@Column(name = "PLANSTOPDATE", length = 7)
	public Date getPlanstopdate() {
		return planstopdate;
	}

	public void setPlanstopdate(Date planstopdate) {
		this.planstopdate = planstopdate;
	}

	@Column(name = "ACTUALSTOPDATE", length = 7)
	public Date getActualstopdate() {
		return actualstopdate;
	}

	public void setActualstopdate(Date actualstopdate) {
		this.actualstopdate = actualstopdate;
	}

	@Column(name = "DEPNAME", length = 20)
	public String getDepname() {
		return depname;
	}

	public void setDepname(String depname) {
		this.depname = depname;
	}

	@Column(name = "ISPUBLIC", length = 2)
	public String getIspublic() {
		return ispublic;
	}

	public void setIspublic(String ispublic) {
		this.ispublic = ispublic;
	}

	@Column(name = "ACUSER", length = 20)
	public String getAcuser() {
		return acuser;
	}

	public void setAcuser(String acuser) {
		this.acuser = acuser;
	}

	@Column(name = "ORDERID", length = 20)
	public String getOrderid() {
		return orderid;
	}

	public void setOrderid(String orderid) {
		this.orderid = orderid;
	}

	@Column(name = "ORDERPRICE", precision = 8)
	public Double getOrderprice() {
		return orderprice;
	}

	public void setOrderprice(Double orderprice) {
		this.orderprice = orderprice;
	}

	@Column(name = "ACCOUNTSUBJECT", length = 50)
	public String getAccountsubject() {
		return accountsubject;
	}

	public void setAccountsubject(String accountsubject) {
		this.accountsubject = accountsubject;
	}

	@Column(name = "SCRAPMANAGE", length = 200)
	public String getScrapmanage() {
		return scrapmanage;
	}

	public void setScrapmanage(String scrapmanage) {
		this.scrapmanage = scrapmanage;
	}

	@Column(name = "SCRAPWORTH", precision = 8)
	public Double getScrapworth() {
		return scrapworth;
	}

	public void setScrapworth(Double scrapworth) {
		this.scrapworth = scrapworth;
	}

	@Column(name = "LIFETIME")
	public String getLifetime() {
		return lifetime;
	}

	public void setLifetime(String lifetime) {
		this.lifetime = lifetime;
	}

	@Column(name = "COUNT")
	public String getCount() {
		return count;
	}

	public void setCount(String count) {
		this.count = count;
	}

	public String getIsscrap() {
		return isscrap;
	}

	public void setIsscrap(String isscrap) {
		this.isscrap = isscrap;
	}

	public String getIsloss() {
		return isloss;
	}

	public void setIsloss(String isloss) {
		this.isloss = isloss;
	}

	@Column(name = "EXTENDNUMBERONE", precision = 22, scale = 0)
	public BigDecimal getExtendnumberone() {
		return extendnumberone;
	}

	public void setExtendnumberone(BigDecimal extendnumberone) {
		this.extendnumberone = extendnumberone;
	}

	@Column(name = "EXTENDNUMBERTWO", precision = 22, scale = 0)
	public BigDecimal getExtendnumbertwo() {
		return extendnumbertwo;
	}

	public void setExtendnumbertwo(BigDecimal extendnumbertwo) {
		this.extendnumbertwo = extendnumbertwo;
	}

	@Column(name = "EXTENDNUMBERTHREE", precision = 22, scale = 0)
	public BigDecimal getExtendnumberthree() {
		return extendnumberthree;
	}

	public void setExtendnumberthree(BigDecimal extendnumberthree) {
		this.extendnumberthree = extendnumberthree;
	}

	@Column(name = "EXTENDCHARONE", length = 500)
	public String getExtendcharone() {
		return extendcharone;
	}

	public void setExtendcharone(String extendcharone) {
		this.extendcharone = extendcharone;
	}

	@Column(name = "EXTENDCHARTWO", length = 500)
	public String getExtendchartwo() {
		return extendchartwo;
	}

	public void setExtendchartwo(String extendchartwo) {
		this.extendchartwo = extendchartwo;
	}

	@Column(name = "EXTENDCHARTHREE", length = 500)
	public String getExtendcharthree() {
		return extendcharthree;
	}

	public void setExtendcharthree(String extendcharthree) {
		this.extendcharthree = extendcharthree;
	}

	@Column(name = "EXTENDCHARFOUR", length = 500)
	public String getExtendcharfour() {
		return extendcharfour;
	}

	public void setExtendcharfour(String extendcharfour) {
		this.extendcharfour = extendcharfour;
	}

	@Column(name = "EXTENDDATEONE", length = 7)
	public Date getExtenddateone() {
		return extenddateone;
	}

	public void setExtenddateone(Date extenddateone) {
		this.extenddateone = extenddateone;
	}

	@Column(name = "EXTENDDATETWO", length = 7)
	public Date getExtenddatetwo() {
		return extenddatetwo;
	}

	public void setExtenddatetwo(Date extenddatetwo) {
		this.extenddatetwo = extenddatetwo;
	}

	@Column(name = "EXTENDDATETHREE", length = 7)
	public Date getExtenddatethree() {
		return extenddatethree;
	}

	public void setExtenddatethree(Date extenddatethree) {
		this.extenddatethree = extenddatethree;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "CATID")
	public Category getCategory() {
		return category;
	}

	public void setCategory(Category category) {
		this.category = category;
	}

	@Column(name = "CHANGEPEOPLE", length = 20)
	public String getChangepeople() {
		return changepeople;
	}

	public void setChangepeople(String changepeople) {
		this.changepeople = changepeople;
	}

	@Column(name = "CHANGEDATE")
	public Date getChangedate() {
		return changedate;
	}

	public void setChangedate(Date changedate) {
		this.changedate = changedate;
	}

	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "card")
	public Set<AssetCardBook> getBook() {
		return book;
	}

	public void setBook(Set<AssetCardBook> book) {
		this.book = book;
	}
	
	@Id
	@GeneratedValue(generator = "generator")
	@GenericGenerator(name="generator",strategy="uuid")  
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}

}
